home *** CD-ROM | disk | FTP | other *** search
/ Pluspack 1 / Caligari Corporation Pluspack1 1998.iso / TSX_SDK / tsxINC / ItsxObject.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-28  |  2.2 KB  |  90 lines

  1. //******************************************************************************
  2. //    File: ItsxObject.h
  3. //  Module: trueSpace eXtensions API
  4. //   Descr: Declarations for the ItsxObject COM interface
  5. //******************************************************************************
  6.  
  7.  
  8. #ifndef ITSXOBJECT_H
  9. #define ITSXOBJECT_H
  10.  
  11.  
  12. #include "itsxcommon.h"
  13.  
  14.  
  15. #undef INTERFACE
  16. #define INTERFACE ItsxObject
  17.  
  18.  
  19.  
  20.  
  21. #define ITSXOBJECTTYPEOFFSET 100
  22.  
  23.  
  24.  
  25. enum ItsxObjectType {
  26.  
  27.     ItsxObjectType_Beginning = ITSXOBJECTTYPEOFFSET,
  28.     ItsxObjectType_Material,
  29.     ItsxObjectType_Scene,
  30.     ItsxObjectType_Plugin_Filter,
  31.     ItsxObjectType_Wind,
  32.     ItsxObjectType_Material_Rect,
  33.     ItsxObjectType_Axes,
  34.     ItsxObjectType_Camera,
  35.     ItsxObjectType_Light,
  36.     ItsxObjectType_Joint,
  37.     ItsxObjectType_Nail,
  38.     ItsxObjectType_Lattice,
  39.     ItsxObjectType_Path,
  40.     ItsxObjectType_Polyhedron,
  41.     ItsxObjectType_Group,
  42.     ItsxObjectType_Metaball,
  43.     ItsxObjectType_Deformation,
  44.     ItsxObjectType_IKGroup,
  45.     ItsxObjectType_End,
  46.  
  47.     };
  48.  
  49.  
  50.  
  51.  
  52.  
  53. DECLARE_INTERFACE_(ItsxObject, IUnknown)
  54. {
  55.     // IUnknown members
  56.     STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
  57.     STDMETHOD_(ULONG, AddRef)  (THIS) PURE;
  58.     STDMETHOD_(ULONG, Release) (THIS) PURE;
  59.  
  60.     // ItsxObject members
  61.     STDMETHOD_(TSXHANDLE, GetHandle) (THIS) PURE;
  62.     STDMETHOD(SetHandle) (THIS_ TSXHANDLE) PURE;
  63.     STDMETHOD(PushState) (THIS) PURE;
  64.     STDMETHOD(PopState) (THIS) PURE;
  65.     STDMETHOD(SetActive) (THIS) PURE;
  66.     STDMETHOD(SetFirst) (THIS) PURE;
  67.     STDMETHOD(SetNext) (THIS) PURE;
  68.     STDMETHOD(SetFirstChild) (THIS) PURE;
  69.     STDMETHOD(SetParent) (THIS) PURE;
  70.     STDMETHOD_(ItsxObjectType, GetObjectType) (THIS) PURE;
  71.     STDMETHOD(Create) (THIS) PURE;
  72.     STDMETHOD(Destroy) (THIS) PURE;
  73.     STDMETHOD(GetName) (THIS_ char*, ULONG) PURE;
  74.     STDMETHOD(SetName) (THIS_ LPCTSTR) PURE;
  75.     STDMETHOD(MakeActive) (THIS) PURE;
  76.     STDMETHOD(GroupWith) (THIS_ TSXHANDLE) PURE;
  77.     STDMETHOD(NewGroupWith) (THIS_ TSXHANDLE) PURE;
  78.     STDMETHOD(UnGroup) (THIS) PURE;
  79.  
  80. };
  81.  
  82. // typedef a pointer to this interface
  83. typedef ItsxObject* PITSXOBJECT;
  84.  
  85. // define a GUID for this interface
  86. // {7AECD222-3007-11d1-A255-006097D15F58}
  87. DEFINE_GUID(IID_ItsxObject, 0x7aecd222, 0x3007, 0x11d1, 0xa2, 0x55, 0x0, 0x60, 0x97, 0xd1, 0x5f, 0x58);
  88.  
  89.  
  90. #endif // ITSXOBJECT_H